//package com.udf.hive.udf;
//
//
//
//import java.io.FileNotFoundException;
//import java.io.IOException;
//
//public class Ip2Region  {
//    private static DbConfig config = null;
//    private static DbSearcher searcher = null;
//
//    static {
////        String dbfile = "src/main/resources/ip2region.db";
//        String dbfile = "ip2region.db";
//        try {
//            config = new DbConfig();
//            searcher = new DbSearcher(config, dbfile);
//        } catch (DbMakerConfigException e) {
//            System.out.println(e.getMessage());
//            e.printStackTrace();
//        } catch (FileNotFoundException e) {
//            System.out.println(e.getMessage());
//            e.printStackTrace();
//        }
//    }
//
//    public static DataBlock parseIp(String ip) {
//        boolean isIpAddress = Util.isIpAddress(ip);
//        if (isIpAddress) {
//            try {
//                DataBlock block = searcher.btreeSearch(ip);
//                return block;
//            } catch (IOException e) {
//                System.out.println(e.getMessage());
//                e.printStackTrace();
//            }
//        }
//        return null;
//    }
//
////    public String evaluate(String input) {
////        if (StringUtils.isIPMatch(input)) {
////            DataBlock dataBlock = Ip2Region.parseIp("220.248.14.158");
////            if (dataBlock != null) {
//////                String regionStr = dataBlock.getRegion().split(:"");
////            }
////        }
////        return "";
////    }
//
//    public static void main(String args[]) throws Exception {
//        System.out.println("dd:" + System.getProperty("java.class.path"));
//        // 格式：国家|大区|省份|城市|运营商
//        System.out.println(Ip2Region.parseIp("220.248.14.158").getRegion());
//        System.out.println(Ip2Region.parseIp("220.248.14.158").getCityId());
//        System.out.println(Ip2Region.parseIp("4.16.159.254").getRegion());
//    }
//}
